package com.order.api.dao;

import com.order.api.po.TblRole;
import com.order.api.po.TblRoleExample;
import java.util.List;

import com.order.api.vo.response.RoleResponse;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface TblRoleDao {
    long countByExample(TblRoleExample example);

    int deleteByExample(TblRoleExample example);

    int deleteByPrimaryKey(Long id);

    int insert(TblRole record);

    int insertSelective(TblRole record);

    List<TblRole> selectByExample(TblRoleExample example);

    TblRole selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") TblRole record, @Param("example") TblRoleExample example);

    int updateByExample(@Param("record") TblRole record, @Param("example") TblRoleExample example);

    int updateByPrimaryKeySelective(TblRole record);

    int updateByPrimaryKey(TblRole record);

    /**
     * 查询角色列表
     * @param roleName 角色名称
     * @param status 角色状态,1:启用,0:禁用
     * @param roleGroup 角色分组,1:系统管理员,2:运营人员,3:商家
     */
    List<RoleResponse> findList(@Param("roleName") String roleName, @Param("status") Integer status, @Param("roleGroup") Integer roleGroup);

    /**
     * 根据角色ID查询角色分组
     * @param roleId
     */
    int getGroupByRoleId(Long roleId);
}